Used to set 09 actors.  A1 is a pointer to 09 characters

7F02370C: ADDIU SP, SP, 0xFFA0
7F023710: SW 	RA, 0x0024 (SP)
7F023714: SW 	S0, 0x0020 (SP)
7F023718: SW 	A0, 0x0060 (SP)
7F02371C: SW 	A2, 0x0068 (SP)
7F023720: LHU 	T6, 0x0006 (A1)		//T6=preset position
7F023724: LUI 	T8, 0x8007
7F023728: LW 	T8, 0x5D18 (T8)		//T8=0xxx preset pointer base
7F02372C: SLL 	T7, T6, 0x2
7F023730: SUBU 	T7, T7, T6
7F023734: SLL 	T7, T7, 0x2
7F023738: SUBU 	T7, T7, T6
7F02373C: SLL 	T7, T7, 0x2
7F023740: OR 	S0, A1, R0		//S0=A1 (guard OBJ pointer)
7F023744: ADDU 	A0, T7, T8		//A0=pointer to preset data
7F023748: LW 	A1, 0x0028 (A0)		//A1=tile pointer
7F02374C: ADDIU T9, SP, 0x0054		
7F023750: SW 	T9, 0x0010 (SP)
7F023754: SW 	A0, 0x005C (SP)		//save preset pointer
7F023758: LUI 	A2, 0x41A0
7F02375C: JAL 	0x0F056850
7F023760: ADDIU A3, SP, 0x0048
7F023764: BEQ 	V0, R0, 0x7F0238FC	//if V0 invalid, abort!
7F023768: ADDIU T0, R0, 0xFFFF		//T0=-1
7F02376C: SW 	T0, 0x0030 (SP)
7F023770: LHU 	V0, 0x0008 (S0)		//V0=body [S0=pointer to 09 actor data]
7F023774: ORI 	AT, R0, 0xFFFF		//AT=-1
7F023778: BNEL	V0,AT,7F023794		//branch if valid and save to stack
7F02377C: SW 	V0, 0x0034 (SP)
7F023780: JAL 	0x0F023590		//returns V0=current random body
7F023784: NOP
7F023788: BEQ 	R0, R0, 0x7F023794
7F02378C: SW 	V0, 0x0034 (SP)
7F023790: SW 	V0, 0x0034 (SP)
7F023794: LW 	T1, 0x0034 (SP)		//?  grab voice flag  ?
7F023798: LUI 	T3, 0x8004
7F02379C: SLL 	T2, T1, 0x2
7F0237A0: ADDU 	T2, T2, T1
7F0237A4: SLL 	T2, T2, 0x2		//T2=T1*0x14
7F0237A8: ADDU 	T3, T3, T2
7F0237AC: LBU 	T3, 0xDE21 (T3)		//T3=embedded head?
7F0237B0: BNEL	T3,R0,7F0237DC
7F0237B4: LW 	A0, 0x0034 (SP)
7F0237B8: LH 	V0, 0x0016 (S0)
7F0237BC: BLTZ 	V0, 0x7F0237CC
7F0237C0: NOP
7F0237C4: BEQ 	R0, R0, 0x7F0237D8
7F0237C8: SW 	V0, 0x0030 (SP)
7F0237CC: JAL 	0x0F0235AC		//returns V0=norm random head
7F0237D0: LW 	A0, 0x0034 (SP)
7F0237D4: SW 	V0, 0x0030 (SP)
7F0237D8: LW 	A0, 0x0034 (SP)
7F0237DC: LW 	A1, 0x0030 (SP)
7F0237E0: JAL 	0x0F0234D0
7F0237E4: LHU 	A2, 0x0014 (S0)
7F0237E8: BEQ 	V0, R0, 0x7F0238FC
7F0237EC: SW 	V0, 0x0038 (SP)
7F0237F0: LW 	V0, 0x005C (SP)
7F0237F4: LWC1	F12,0018 (V0)
7F0237F8: JAL 	0x0F05AA30
7F0237FC: LWC1	F14,0020 (V0)
7F023800: SWC1	F0,003C (SP)
7F023804: JAL 	0x0F035398
7F023808: LHU 	A0, 0x000A (S0)
7F02380C: LW 	A0, 0x0038 (SP)
7F023810: ADDIU 	A1, SP, 0x0048
7F023814: LW 	A2, 0x003C (SP)
7F023818: LW 	A3, 0x0054 (SP)
7F02381C: JAL 	0x0F0203B8
7F023820: SW 	V0, 0x0010 (SP)
7F023824: BEQ 	V0, R0, 0x7F0238FC
7F023828: OR 	A0, V0, R0
7F02382C: JAL 	0x0F03A4A4
7F023830: SW 	V0, 0x0044 (SP)
7F023834: JAL 	0x0F03A404
7F023838: LW 	A0, 0x0044 (SP)
7F02383C: LW 	T4, 0x0044 (SP)
7F023840: LHU 	T5, 0x0004 (S0)
7F023844: LUI 	AT, 0x4F80
7F023848: LW 	V0, 0x0004 (T4)
7F02384C: SH 	T5, 0x0000 (V0)
7F023850: LHU 	T6, 0x0010 (S0)
7F023854: MTC1	T6,F4
7F023858: BGEZ 	T6, 0x7F02386C
7F02385C: CVT.S.W	F6,F4
7F023860: MTC1	AT,F8
7F023864: NOP
7F023868: ADD.S	F6,F6,F8
7F02386C: LUI 	AT, 0x447A
7F023870: MTC1	AT,F10
7F023874: LUI 	AT, 0x4F80
7F023878: DIV.S	F16,F6,F10
7F02387C: SWC1	F16,00EC (V0)
7F023880: LHU 	T7, 0x0012 (S0)
7F023884: MTC1	T7,F18
7F023888: BGEZ 	T7, 0x7F02389C
7F02388C: CVT.S.W	F4,F18
7F023890: MTC1	AT,F8
7F023894: NOP
7F023898: ADD.S	F4,F4,F8
7F02389C: SWC1	F4,00D0 (V0)
7F0238A0: LHU 	T8, 0x000C (S0)
7F0238A4: SH 	T8, 0x0114 (V0)
7F0238A8: LHU 	T9, 0x000E (S0)
7F0238AC: SH 	T9, 0x0116 (V0)
7F0238B0: LW 	T0, 0x0030 (SP)
7F0238B4: SB 	T0, 0x0006 (V0)
7F0238B8: LW 	T1, 0x0034 (SP)
7F0238BC: SB 	T1, 0x000F (V0)
7F0238C0: LHU 	V1, 0x0014 (S0)
7F0238C4: ANDI 	T2, V1, 0x0004
7F0238C8: BEQL	T2,R0,7F0238E4
7F0238CC: ANDI 	T5, V1, 0x0008
7F0238D0: LW 	T3, 0x0014 (V0)
7F0238D4: ORI 	T4, T3, 0x0002
7F0238D8: SW 	T4, 0x0014 (V0)
7F0238DC: LHU 	V1, 0x0014 (S0)
7F0238E0: ANDI 	T5, V1, 0x0008
7F0238E4: BEQL	T5,R0,7F0238FC
7F0238E8: SW 	V0, 0x0018 (S0)
7F0238EC: LW 	T6, 0x0014 (V0)
7F0238F0: ORI 	T7, T6, 0x0010
7F0238F4: SW 	T7, 0x0014 (V0)
7F0238F8: SW 	V0, 0x0018 (S0)
7F0238FC: LW 	RA, 0x0024 (SP)
7F023900: LW 	S0, 0x0020 (SP)
7F023904: ADDIU 	SP, SP, 0x0060
7F023908: JR 	RA
7F02390C: NOP


---------
7F023724: LUI 	T8, 0x8007
7F023730: SLTI	A0,T6,2710
	  BNEZ	A0,[general]
7F02372C: ORI	T7,R0,002C
//2710
7F023734: ADDI	T6,T6,D8F0	//correction for -2710
7F023738: ADDIU	T8,T8,0004
7F02373C: ORI	T7,R0,0044
//general
	  MULTU	T6,T7
7F023728: LW 	T8, 0x5D18 (T8)		//T8=0xxx preset pointer base
	  MFLO	T7
7F023744: ADDU 	A0, T7, T8		//A0=pointer to preset data

[rewrite]
7F02370C: ADDIU SP, SP, 0xFFA0
7F023710: SW 	RA, 0x0024 (SP)
7F023714: SW 	S0, 0x0020 (SP)
7F023718: SW 	A0, 0x0060 (SP)
7F02371C: SW 	A2, 0x0068 (SP)
7F023720: LHU 	T6, 0x0006 (A1)		//T6=preset position
7F023724: LUI 	T8, 0x8007
//start editting!
7F023728: 2DC42710	SLTI	A0,T6,2710
7F02372C: 14800004	BNEZ	A0,[general]	+4
7F023730: 340F002C	ORI	T7,R0,002C
7F023734: 21CED8F0	ADDI	T6,T6,D8F0	//correction for -2710
7F023738: 27180004	ADDIU	T8,T8,0004
7F02373C: 340F0044	ORI	T7,R0,0044
7F023740: 01CF0019	MULTU	T6,T7		[general]
7F023744: 00A08025	OR 	S0, A1, R0		//S0=A1 (guard OBJ pointer)
7F023748: 8F185D18	LW 	T8, 0x5D18 (T8)		//T8=0xxx preset pointer base
7F02374C: 00007812	MFLO	T7
7F023750: 01F82021	ADDU 	A0, T7, T8		//A0=pointer to preset data
7F023754: 8C850028	LW 	A1, 0x0028 (A0)		//A1=tile pointer
7F023758: 27B90054	ADDIU T9, SP, 0x0054		
7F02375C: AFB90010	SW 	T9, 0x0010 (SP)
7F023760: AFA4005C	SW 	A0, 0x005C (SP)		//save preset pointer
7F023764: 3C0641A0	LUI 	A2, 0x41A0
7F023768: 0FC15A14	JAL 	0x0F056850		//PROXIMITY TEST FOR PRESET
7F02376C: 27A70048	ADDIU A3, SP, 0x0048
7F023770: 10400062*	BEQ 	V0, R0, 0x7F0238FC	//1 if okay to spawn there
7F023774: 2408FFFF	ADDIU T0, R0, 0xFFFF		//T0=-1
7F023778: 86020008	*LH 	V0, 0x0008 (S0)		//V0=body
7F02377C: 04430003	*BGEZ	V0,+4			//branch < 0
7F023780: AFA80030	SW 	T0, 0x0030 (SP)
7F023784: 0FC08D88	JAL 	0x0F023620		//returns V0=random body
7F023788: 00000000	NOP
7F02378C: 00000000	NOP
//end editting - unless need more space!
7F023790: SW 	V0, 0x0034 (SP)		+3
7F023794: LW 	T1, 0x0034 (SP)		//?  grab voice flag  ?
7F023798: LUI 	T3, 0x8004
7F02379C: SLL 	T2, T1, 0x2
7F0237A0: ADDU 	T2, T2, T1
7F0237A4: SLL 	T2, T2, 0x2		//T2=T1*0x14
7F0237A8: ADDU 	T3, T3, T2
7F0237AC: LBU 	T3, 0xDE21 (T3)		//T3=embedded head?
7F0237B0: BNEL	T3,R0,7F0237DC
7F0237B4: LW 	A0, 0x0034 (SP)
7F0237B8: LH 	V0, 0x0016 (S0)
7F0237BC: BLTZ 	V0, 0x7F0237CC
7F0237C0: NOP
7F0237C4: BEQ 	R0, R0, 0x7F0237D8
7F0237C8: SW 	V0, 0x0030 (SP)
7F0237CC: JAL 	0x0F0235AC		//returns V0=norm random head
7F0237D0: LW 	A0, 0x0034 (SP)
7F0237D4: SW 	V0, 0x0030 (SP)
7F0237D8: LW 	A0, 0x0034 (SP)
7F0237DC: LW 	A1, 0x0030 (SP)
7F0237E0: JAL 	0x0F0234D0
7F0237E4: LHU 	A2, 0x0014 (S0)
7F0237E8: BEQ 	V0, R0, 0x7F0238FC
7F0237EC: SW 	V0, 0x0038 (SP)
7F0237F0: LW 	V0, 0x005C (SP)
7F0237F4: LWC1	F12,0018 (V0)
7F0237F8: JAL 	0x0F05AA30
7F0237FC: LWC1	F14,0020 (V0)
7F023800: SWC1	F0,003C (SP)
7F023804: JAL 	0x0F035398
7F023808: LHU 	A0, 0x000A (S0)
7F02380C: LW 	A0, 0x0038 (SP)
7F023810: ADDIU A1, SP, 0x0048
7F023814: LW 	A2, 0x003C (SP)
7F023818: LW 	A3, 0x0054 (SP)
7F02381C: JAL 	0x0F0203B8
7F023820: SW 	V0, 0x0010 (SP)
7F023824: BEQ 	V0, R0, 0x7F0238FC
7F023828: OR 	A0, V0, R0
7F02382C: JAL 	0x0F03A4A4
7F023830: SW 	V0, 0x0044 (SP)
7F023834: JAL 	0x0F03A404
7F023838: LW 	A0, 0x0044 (SP)
7F02383C: LW 	T4, 0x0044 (SP)
7F023840: LHU 	T5, 0x0004 (S0)
7F023844: LUI 	AT, 0x4F80
7F023848: LW 	V0, 0x0004 (T4)
7F02384C: SH 	T5, 0x0000 (V0)
7F023850: LHU 	T6, 0x0010 (S0)
7F023854: MTC1	T6,F4
7F023858: BGEZ 	T6, 0x7F02386C
7F02385C: CVT.S.W	F6,F4
7F023860: MTC1	AT,F8
7F023864: NOP
7F023868: ADD.S	F6,F6,F8
7F02386C: LUI 	AT, 0x447A
7F023870: MTC1	AT,F10
7F023874: LUI 	AT, 0x4F80
7F023878: DIV.S	F16,F6,F10
7F02387C: SWC1	F16,00EC (V0)
7F023880: LHU 	T7, 0x0012 (S0)
7F023884: MTC1	T7,F18
7F023888: BGEZ 	T7, 0x7F02389C
7F02388C: CVT.S.W	F4,F18
7F023890: MTC1	AT,F8
7F023894: NOP
7F023898: ADD.S	F4,F4,F8
7F02389C: SWC1	F4,00D0 (V0)
7F0238A0: LHU 	T8, 0x000C (S0)
7F0238A4: SH 	T8, 0x0114 (V0)
7F0238A8: LHU 	T9, 0x000E (S0)
7F0238AC: SH 	T9, 0x0116 (V0)
7F0238B0: LW 	T0, 0x0030 (SP)
7F0238B4: SB 	T0, 0x0006 (V0)
7F0238B8: LW 	T1, 0x0034 (SP)
7F0238BC: SB 	T1, 0x000F (V0)
7F0238C0: LHU 	V1, 0x0014 (S0)
7F0238C4: ANDI 	T2, V1, 0x0004
7F0238C8: *BEQ	T2,R0,+4
7F0238D0: LW 	T3, 0x0014 (V0)
7F0238D4: ORI 	T4, T3, 0x0002
7F0238D8: SW 	T4, 0x0014 (V0)
7F0238DC: LHU 	V1, 0x0014 (S0)
7F0238E0: ANDI 	T5, V1, 0x0008		+4
7F0238E4: *BEQ	T5,R0,+3
7F0238EC: LW 	T6, 0x0014 (V0)
7F0238F0: ORI 	T7, T6, 0x0010
7F0238F4: SW 	T7, 0x0014 (V0)
7F0238F8: SW 	V0, 0x0018 (S0)		+3
7F0238FC: LW 	RA, 0x0024 (SP)
7F023900: LW 	S0, 0x0020 (SP)
//don't move this one
7F023908: JR 	RA
7F023904: *ADDIU 	SP, SP, 0x0060
